package com.ryskoo.common.dto.promotion;

import com.ryskoo.common.constant.CouponConstant;
import com.ryskoo.common.dto.BasicDTO;

import java.util.List;

/**
 * 优惠券
 * 
 * @author huanghe
 */
public class CouponDTO extends BasicDTO {

	private static final long serialVersionUID = -3328658821868679461L;

	/* 商户ID */
	private String vendorUuid;

	/* 优惠券名称 */
	private String couponName;

	/* 面值 */
	private double couponPrice;

	/* 使用条件 订单满多少 不限为0 */
	private double reachPrice;

	/* 有效开始时间 */
	private String startValidTime;

	/* 有效结束时间 */
	private String endValidTime;

	/* 总计发布数量 */
	private int totalCount = 0;

	/* 已经生成数量 */
	private int generateCount = 0;

	/* 使用数量 */
	private int useCount = 0;

	/* 每人限领数量 */
	private int limitCount = 0;

	/* 优惠券类别： 1:全场券  2:单品券 */
	private int couponType;

	/* 使用终端： 0：通用  1：pc   3：APP 4：小程序  5：H5*/
	private String couponClient;

	/* 获取方式： 1.线上领取   2.线下发放  */
	private int obtainType ;

	/* 启停 */
	private boolean state = true;

	private String couponTypeName;
	private String obtainTypeName;
	private String couponClientName;
	private int couponState;
	private String couponStateName;

	// 优惠券关联的商品list
	private List<CouponProductRelDTO> productList ;


	public String getVendorUuid() {
		return vendorUuid;
	}

	public void setVendorUuid(String vendorUuid) {
		this.vendorUuid = vendorUuid;
	}

	public String getCouponName() {
		return couponName;
	}

	public void setCouponName(String couponName) {
		this.couponName = couponName;
	}

	public double getCouponPrice() {
		return couponPrice;
	}

	public void setCouponPrice(double couponPrice) {
		this.couponPrice = couponPrice;
	}

	public double getReachPrice() {
		return reachPrice;
	}

	public void setReachPrice(double reachPrice) {
		this.reachPrice = reachPrice;
	}

	public String getStartValidTime() {
		return startValidTime;
	}

	public void setStartValidTime(String startValidTime) {
		this.startValidTime = startValidTime;
	}

	public String getEndValidTime() {
		return endValidTime;
	}

	public void setEndValidTime(String endValidTime) {
		this.endValidTime = endValidTime;
	}

	public int getTotalCount() {
		return totalCount;
	}

	public void setTotalCount(int totalCount) {
		this.totalCount = totalCount;
	}

	public int getGenerateCount() {
		return generateCount;
	}

	public void setGenerateCount(int generateCount) {
		this.generateCount = generateCount;
	}

	public int getUseCount() {
		return useCount;
	}

	public void setUseCount(int useCount) {
		this.useCount = useCount;
	}

	public int getLimitCount() {
		return limitCount;
	}

	public void setLimitCount(int limitCount) {
		this.limitCount = limitCount;
	}

	public int getCouponType() {
		return couponType;
	}

	public void setCouponType(int couponType) {
		this.couponType = couponType;
	}

	public String getCouponClient() {
		return couponClient;
	}

	public void setCouponClient(String couponClient) {
		this.couponClient = couponClient;
	}

	public int getObtainType() {
		return obtainType;
	}

	public void setObtainType(int obtainType) {
		this.obtainType = obtainType;
	}

	public boolean isState() {
		return state;
	}

	public void setState(boolean state) {
		this.state = state;
	}

	public List<CouponProductRelDTO> getProductList() {
		return productList;
	}

	public void setProductList(List<CouponProductRelDTO> productList) {
		this.productList = productList;
	}

	public String getCouponTypeName() {
		return CouponConstant.CouponTypeEnum.getNameByValue(this.couponType);
	}

	public void setCouponTypeName(String couponTypeName) {
		this.couponTypeName = couponTypeName;
	}

	public String getObtainTypeName() {
		return CouponConstant.ObtainTypeEnum.getNameByValue(this.obtainType);
	}

	public void setObtainTypeName(String obtainTypeName) {
		this.obtainTypeName = obtainTypeName;
	}

	public String getCouponClientName() {
		return couponClientName;
	}

	public void setCouponClientName(String couponClientName) {
		this.couponClientName = couponClientName;
	}

	public int getCouponState() {
		return couponState;
	}

	public void setCouponState(int couponState) {
		this.couponState = couponState;
	}

	public String getCouponStateName() {
		return couponStateName;
	}

	public void setCouponStateName(String couponStateName) {
		this.couponStateName = couponStateName;
	}
}
